The use of computers and/or computing systems to generate textual documents has become an established practice in today's Computer Age. Through the use of a computer, such as a personal computer, and a keyboard (e.g., one having the “QWERTY” key configuration), it is now possible for users to type and create documents of many different types and formats.
Various word-processing programs also provide a certain amount of visual feedback, through a user interface, to provide the user with visual cues as to the effects of the user's actions. For example, in generating an electronic document using the “MICROSOFT® WORD” program, which is a word-processing product offered by Microsoft Corp., many visual cues are provided. One such visual cue is a flashing cursor that appears at a point in the document. The flashing cursor, represented by a vertical line, is the point at which text will appear if the user were to begin typing on the keyboard. In this regard, the location of the cursor may be referred to as the insertion point. The cursor is also the point from which text may be deleted upon pressing an “Insert” or “Delete” key on the keyboard, and may also serve as a first point in highlighting a portion of the document.
However, the use of such a cursor for various editing actions requires the user to study and learn multiple functions and commands, thus complicating the user's interaction with the system. To illustrate, FIG. 3A shows a screen of text from a prior art word processing program. In the FIG. 3A screen, several lines of text 301 may have been generated by the user, for example, by typing the letters on a keyboard. If the user should desire to insert additional space, or text, at a point 302 within the lines of text 301, the user generally is required to position the cursor 303 at the insertion point, and then add spaces or text (by hitting the space bar or keys on a keyboard) to perform the insertion. Carriage returns may also be inserted by pressing the “Enter” or “Return” key on a conventional keyboard. However, with each press of a key (e.g., spacebar), the entire portion of the lines of text 301 beyond the cursor 303 shifts as a result of the addition. If the user wishes to insert 20 spaces, the text might shift 20 times for the spaces. This shifting is disorienting to the user, and complicates the user's interaction with the displayed document.
A similar problem is encountered if the user wishes to “close up” space between two groups of text. To illustrate, FIG. 3B shows another screen of text from a typical word processing program, in which two groups of text 304a, 304b are separated by space 305. If the user wishes to “close up” this space 305 by bringing the two groups of text together, the user typically must either: 1) highlight and delete the spaces and/or carriage returns between the groups of text; or 2) position the cursor at some point within the space 305, and begin pressing “Delete” or “Backspace” keys to delete the various components of space 305 (which may include spaces, tabs, carriage returns, etc.). These operations, however, also complicate the user's computer experience. In option 1, the user must learn how to properly select the entire space area 305, and then learn how to delete or cut the selected space area 305 from the document. An inadvertent selection of more, or less, than space 305 might result in an accidental deletion of some or all of the groups of text 304a, 304b, requiring the user to backtrack and attempt the deletion again. Option 2 involves the deletion of individual spaces, tabs, carriage returns, etc., one at a time. This one-at-a-time deletion may be disorienting to the user as text group 304b may be shifted once for each deletion. On slower machines, the repeated deletions may be affected faster than they are displayed, resulting in over deletions. On faster machines, the rate at which pages scroll is faster than the user's ability to respond, further frustrating the user.
FIGS. 3C-F illustrate another prior art attempt at easing the user's interaction with the displayed document. In the Microsoft® Inkwriter® product, a user could generate multiple lines 330 of text, which could be handwritten using a stylus, and interact with the displayed document using a pointing device (such as the stylus, mouse, etc.). The user could also place a cursor 332 at an insertion point. The cursor 332 would initially have the appearance of an “I-beam,” as shown in FIG. 3C. As the user moved a pointer, such as a mouse or stylus pointer 334, over the cursor 332, also known as “hovering” over the cursor 332, a new hover symbol 336 would appear below the cursor 332, as shown in FIG. 3D. If the user were to subsequently “click and drag” the mouse cursor by, for example, pressing a mouse button and moving the mouse, the hover symbol 336 would be replaced by an expanding arrow 338. This “click and drag” may also be performed using a stylus. As the user “dragged” the cursor 332, the expanding arrow 338 would then dynamically indicate the vertical position of the mouse pointer 334, as shown in FIG. 3E, while maintaining the same horizontal position. Upon completing the drag, the text following the cursor 332 is moved to begin as a new line at the final vertical position of the mouse pointer 334.
The Inkwriter® hover symbol 336 and expanding arrow 338 provide some feedback to the user, but this feedback is limited. For example, no additional feedback is provided if the user drags the cursor 332 within the same line (e.g., to the left or right). Additionally, the amount of vertical feedback is limited to a vertical indication only. In the FIG. 3E screen, the expanding arrow 338 does not indicate the horizontal positioning of the pointer 334, resulting in some confusion on the part of the user as to what will happen when the dragging ceases. The operation of the Inkwriter® cursor is also confusing when the user wishes to delete space in a document. In deleting space or text, the Inkwriter® cursor 332 behaves as described above with respect to FIGS. 3C-E, resulting in a feedback display as shown in FIG. 3G. In the FIG. 3G screen, the expanding arrow 338 similarly provides limited feedback regarding exactly what text, if any, will be deleted when the dragging is completed.
The user's computer experience is complicated by these forms of editing feedback, which is undesirable from a computer-usability standpoint. Consequently, there is a need for a more intuitive and user-friendly form of feedback when editing documents with a computer. This need is further heightened in any computer system that attempts to simplify a user's computer experience.